﻿
namespace Dexter.Repository {
	public interface IGlobalRepository {
		/// <summary>
		/// Gets a value indicating whether the repository ready.
		/// </summary>
		/// <value>
		/// 	<c>true</c> if this instance is repository ready; otherwise, <c>false</c>.
		/// </value>
		bool IsRepositoryReady { get; }

		/// <summary>
		/// Saves the configuration.
		/// </summary>
		/// <param name="connectionString">The connection string.</param>
		/// <param name="databaseType">Type of the database.</param>
		/// <param name="databaseSchema">The database schema.</param>
		/// <param name="enableCache">if set to <c>true</c> [enable cache].</param>
		/// <param name="cacheProvider">The cache provider.</param>
		/// <param name="databaseTablePrefix">The database table prefix.</param>
		void SaveConfiguration ( string connectionString , string databaseType , string databaseSchema , bool enableCache , string databaseTablePrefix );

		/// <summary>
		/// Inizializes the repository schema.
		/// </summary>
		void InizializeRepositorySchema ( );
	}
}
